package com.engine4cloud.tdf.common.core.constant.enums;

import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.Getter;

import java.io.Serializable;

/**
 * 调查评估审核动作状态枚举
 * 动作与状态对应关系：CREATE->县级待指派；COUNTRY_ASSIGN->所待接收；VILLAGE_ACCEPT->所待提交；VILLAGE_REFUSE->所拒绝;VILLAGE_SUBMIT->县待同意;COUNTRY_APPROVE->待交付;COUNTRY_REJECT->县拒绝；DELIVERY->已入矫；REFUSE_RECEIVE->入矫拒绝
 */
@Getter
public enum InvAuditActionStatusEnum implements Serializable {
    CREATE("CREATE", "创建", "待指派"),

    COUNTRY_ASSIGN("COUNTRY_ASSIGN", "县指派", "待接收"),

    VILLAGE_ACCEPT("VILLAGE_ACCEPT", "所接收", "待提交"),

    VILLAGE_REFUSE("VILLAGE_REFUSE", "所拒绝", "拒绝"),

    VILLAGE_SUBMIT("VILLAGE_SUBMIT", "所提交", "待同意"),

    /**
     * 审核通过，即已完成评估
     */
    COUNTRY_APPROVE("COUNTRY_APPROVE", "县同意", "待入矫"),

    COUNTRY_REJECT("COUNTRY_REJECT", "县拒绝", "审核未通过"),

    /**
     * 指派入矫
     */
    DELIVERY("DELIVERY", "指派入矫", "已入矫");

    /**
     * 动作类型
     */
    @Enumerated(EnumType.STRING)
    private String type;

    /**
     * 动作描述
     */
    private String desc;

    /**
     * 动作对应的状态
     */
    private String status;

    InvAuditActionStatusEnum(String type, String desc) {
        this.type = type;
        this.desc = desc;
    }

    InvAuditActionStatusEnum(String type, String desc, String status) {
        this.type = type;
        this.desc = desc;
        this.status = status;
    }

    public void setType(String type) {
        this.type = type;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}
